package com.ant.collect.pojo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

import java.io.Serializable;
import java.util.Date;
import java.util.List;

/**
 * <p>
 * 
 * </p>
 *
 * @author hzd
 * @since 2025-10-23
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value="Company对象", description="")
public class Company implements Serializable {

    private static final long serialVersionUID = 1L;

    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    @TableField("user_id")
    private Integer userId;

    @ApiModelProperty(value = "省")
    private String province;

    @ApiModelProperty(value = "市州")
    private String city;

    @ApiModelProperty(value = "区县")
    private String county;

    @ApiModelProperty(value = "详细地址")
    private String address;

    @ApiModelProperty(value = "企业名称")
    @TableField("company_name")
    private String companyName;

    @ApiModelProperty(value = "组织机构代码")
    @TableField("company_code")
    private String companyCode;

    @ApiModelProperty(value = "营业执照")
    @TableField("business_url")
    private String businessUrl;

    @ApiModelProperty(value = "法人姓名")
    @TableField("person_name")
    private String personName;

    @ApiModelProperty(value = "法人身份证 ")
    @TableField("person_url")
    private String personUrl;

    @ApiModelProperty(value = "联系人")
    private String contact;

    @ApiModelProperty(value = "联系人电话")
    @TableField("contact_tel")
    private String contactTel;

    @ApiModelProperty(value = "联系人电话")
    @TableField("email")
    private String email;

    @ApiModelProperty(value = "企业类型 1 需求侧 2 供给侧")
    @TableField("enterprise_type")
    private Integer enterpriseType;

    @ApiModelProperty(value = "1审核中 2 通过 3 驳回")
    private Integer review;

    @ApiModelProperty(value = "审核人")
    @TableField("review_name")
    private String reviewName;

    @TableField("review_time")
    private Date reviewTime;

    @TableField("creation_time")
    private Date creationTime;

    @TableField(exist = false)
    private User user;


    @TableField(exist = false)
    private List<CollectionYear> collectionYearList;

}
